草庐IT

Java TCP Socket等待空闲?

全部标签

c# - 让线程等待 n 个脉冲

我如何等待n个脉冲?…//dosomethingwaiter.WaitForNotifications();我希望上面的线程等待直到被通知n次(被n个不同的线程或n次被同一个线程通知)。我相信有一种计数器可以执行此操作,但我找不到。 最佳答案 看看CountdownEventClass:CountdownEventClassRepresentsasynchronizationprimitivethatissignaledwhenitscountreacheszero.示例:CountdownEventwaiter=newCountd

c# - 如何在进程等待完成时显示加载控件?

我决定使用这个第三方组件在我的windows窗体中做一个简单的加载控件。http://www.codeproject.com/Articles/14841/How-to-write-a-loading-circle-animation-in-NET这在打开和关闭单个请求(每次一个)中将属性“Active”更改为true或false时工作正常。问题是当一个进程正在等待服务时,我假装在进程启动之前激活loadingControl,并在我“认为”进程必须完成时关闭。当我这样做时,图像加载显示为静态图像。(没有动画)。很抱歉这个问题,我是C#的新手。但我认为我需要使用Threads或类似的东西

c# - 空闲时间后隐藏鼠标光标

我想在空闲时间后隐藏我的鼠标光标,当我移动鼠标时它会显示出来。我尝试使用计时器,但效果不佳。有谁能够帮助我?请! 最佳答案 如果您使用的是WinForms并且只会部署在Windows机器上,那么它就很容易使用user32GetLastInputInfo处理鼠标和键盘空闲。publicstaticclassUser32Interop{publicstaticTimeSpanGetLastInput(){varplii=newLASTINPUTINFO();plii.cbSize=(uint)Marshal.SizeOf(plii);i

c# - DownloadStringAsync 等待请求完成

我正在使用这段代码来检索url内容:privateArrayListrequest(stringquery){ArrayListparsed_output=newArrayList();stringurl=string.Format("http://url.com/?query={0}",Uri.EscapeDataString(query));Uriuri=newUri(url);using(WebClientclient=newWebClient()){client.DownloadStringAsync(uri);}//howtowaitforDownloadStringAsyn

c# - ManualResetEventSlim : Calling . Set() 后跟 .Reset() 不会释放 *任何* 等待线程

ManualResetEventSlim:调用.Set()后立即调用.Reset()不会释放任何等待线程(注意:ManualResetEvent也会发生这种情况,而不仅仅是ManualResetEventSlim。)我在发布和Debug模式下都尝试了下面的代码。我在四核处理器上运行的Windows764位上使用.Net4作为32位版本运行它。我从VisualStudio2012编译它(因此安装了.Net4.5)。在我的系统上运行它时的输出是:Waitingfor20threadstostartThread1started.Thread2started.Thread3started.Th

c# - 异步等待文件创建

等待外部应用程序创建文件的最简洁方法是什么?asyncTaskdoSomethingWithFile(stringfilepath){//1.awaitforpathexists//2.Dosomethingwithfile} 最佳答案 因此,第一个关键点是您可以使用FileSystemWatcher在特定路径的文件系统事件更改时收到通知。例如,如果您希望在特定位置创建文件时收到通知,您可以找到。接下来,我们可以创建一个方法,该方法使用TaskCompletionSource在文件系统观察器触发相关事件时触发任务的完成。public

c# - 我可以等待我用生成器创建的可枚举吗?

假设我有一个异步获取的整数序列。asyncTaskGetI(inti){returnawaitTask.Delay(1000).ContinueWith(x=>i);}我想在该序列上创建一个生成器,如果该序列是同步的,我会这样做:IEnumerableMethod(){for(vari=0;i所以,我想这个类比是让生成器异步并从中产生:asyncTask>Method(){for(vari=0;ii);}}这行不通,因为一个带有yield的方法必须返回IEnumerable更有意义的替代方案是IEnumerable>但自async以来将无法编译方法必须返回Tasks或无效。现在,我意识

c# - 纤程与异步等待

我正在加入一个C#项目,开发人员在其中大量使用Fibers.在这个项目之前我什至没有听说过它们并且以前使用过asyncawait和Threads和BackgroundWorker来进行我的多任务操作。今天我问他们为什么使用Fiber,主要开发人员说这样更容易调试。这意味着他知道特定函数来自哪个线程,甚至可以访问堆栈中更高层的变量。我想知道使用Fiber与使用新的asyncawait和使用Thread的优缺点是什么。PS:我们使用的是.Net4.5 最佳答案 IwasaskingthemwhytheyusedFibersandthem

c# - 响应式扩展订阅调用等待

我想针对响应式扩展Observable引发的每个事件执行异步调用。我还试图使所有内容保持同步,因为我希望在处理下一个事件之前完成异步调用。如何做类似于以下的事情?我说类似是因为下面的代码无法编译。settingsChangedInMemory.Subscribe(async_=>{varsettings=Extract();awaitSaveSettings(settings);});我不确定它是否改变了什么,但我需要订阅多个Observable。例如另一个像这样的订阅。settingsChangedOnDisk.Subscribe(async_=>{varsettings=await

c# - 为什么我必须使用等待异步运行的方法。如果我不想在继续之前等待方法完成怎么办?

这个问题在这里已经有了答案:Fire-and-forgetwithasyncvs"oldasyncdelegate"(5个答案)关闭7年前。我整天都在翻阅MSDN文档,他们的异步编码理念让我感到困惑。据我了解,如果调用异步方法,调用异步方法的线程不会被阻塞。然而,async在示例中总是与await配对,这似乎否定了异步性,使得外部方法无论如何都必须等待代码执行。我不应该能够调用异步方法然后继续执行外部方法吗?我或多或少遇到过这种情况:voidreportSomethingHappened(info)-Collectinfo-HTTPPOSTinfotologgingserver(ie.